function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}

function ajaxx(valor1,id_div,controller, lmtMenor, lmtMayor, opcion)
{
	//alert(opcion);
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", controller, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	
	ajax.send("variable="+valor1+"~"+lmtMenor+"~"+lmtMayor+"~"+opcion);// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion
ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			capa.innerHTML=ajax.responseText;
		}
	}
}

function ajaxp(valor1,id_div,controller)
{
	//alert(opcion);
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", controller, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	
	ajax.send("variable="+valor1);// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion
ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			capa.innerHTML=ajax.responseText;
		}
	}
}

function ajaxx2(valor1,id_div,controller)
{
	//alert(opcion);
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", controller, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	
	ajax.send("variable="+valor1);// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion
ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			capa.innerHTML=ajax.responseText;
		}
	}
}

function ajaxxx(valor1,depId,id_div,controller)
{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", controller, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	
	ajax.send("variable="+valor1+"~"+depId);// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion   //RESPONDE CAJETON !!!! 
//c="+id_in+"~"+id_des

ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			capa.innerHTML=ajax.responseText;
		}
	}
}

function Agregar(agregar,idProd,idDep,Cantidad,Bultos,Kg,id_div,archivo)
{
	if(agregar == "valido")
	{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", archivo, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion   
	ajax.send("variable="+idProd+"~"+idDep+"~"+Cantidad+"~"+Bultos+"~"+Kg);

	ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				// Respuesta recibida. Coloco el texto plano en la capa correspondiente
				capa.innerHTML=ajax.responseText;
			}
		}
		
		Limpiar();
	 /*
	 */
	}else
	{
		return false();
	}
}

function AgregaraEgreso(agregar,idProd,idDep,Cantidad,Bultos,Kgs,id_div,archivo)
{
	if(agregar == "valido")
	{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", archivo, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion   
	ajax.send("variable="+idProd+"~"+idDep+"~"+Cantidad+"~"+Bultos+"~"+Kgs);

	ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				// Respuesta recibida. Coloco el texto plano en la capa correspondiente
				capa.innerHTML=ajax.responseText;
			}
		}
		
		Limpiar();
	}else
	{
		return false;
	}
}

function Busque(idDep,idDiv,Archivo)
	{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(idDiv);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", Archivo, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion   
	ajax.send("variable="+idDep);

	ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				// Respuesta recibida. Coloco el texto plano en la capa correspondiente
				capa.innerHTML=ajax.responseText;
			}
		}	
	}
	
function eliminar(valor,id_div,archivo)
	{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", archivo, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion   
	ajax.send("variable="+valor);

	ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				// Respuesta recibida. Coloco el texto plano en la capa correspondiente
				capa.innerHTML=ajax.responseText;
			}
		}
	}

function eliminar2(valor,depId,id_div,archivo)
	{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", archivo, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion   
	ajax.send("variable="+valor+"~"+depId);

	ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				// Respuesta recibida. Coloco el texto plano en la capa correspondiente
				capa.innerHTML=ajax.responseText;
			}
		}
	}		

function ajax2(valor1,id_div,controller,nombreTabla)
{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById(id_div);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", controller, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	
	ajax.send("variable="+valor1+"~"+nombreTabla);

	ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				// Respuesta recibida. Coloco el texto plano en la capa correspondiente
				capa.innerHTML=ajax.responseText;
			}
		}
}

function ShowDiv(id) //oculta DIV
{
    
	if(document.getElementById(id).style.display=='none')
	{ 
     document.getElementById(id).style.display='';
    }
	else
	{
     document.getElementById(id).style.display='none';
    }
}

function ShowDiv2(id) //oculta DIV
{
    
	if(document.getElementById(id).style.display=='none')
	{ 
     document.getElementById(id).style.display='';
    }
	
}

function PopWindows(ventana,titulo, alto , ancho)
{ 
window.open(ventana,titulo, "directories=no, menubar =no,status=no,toolbar=no,location=no,scrollbars=yes,fullscreen=no,height="+alto+",width="+ancho+"");
}


function ShowDiv(id) //oculta DIV
{
    
	if(document.getElementById(id).style.display=='')
	{ 
     document.getElementById(id).style.display='none';
    }
	else
	{
     document.getElementById(id).style.display='';
    }
}

var GAccion = "";

function AbrirPop(id, accion)
  {
	document.getElementById('error_div').style.display = 'none';
	GAccion = accion;
	
	
	if(accion == 'U')
	{
		//pedir unicamente el número de hoja de ruta.
		//ocultar div de busqueda de productos
		//document.getElementById('codigoProducto').style.display = 'none';
		document.getElementById('groupBtn').style.display = 'none';
		document.getElementById('codigoLbl').style.display = 'none';
		document.getElementById('descriptionProd').style.display = 'none';
		document.getElementById('codigoTangoProd').style.display = 'none';
		//alert("tiene que ocultar");
	}
	else
	{
		//pedir el número de hoja de ruta y el código de producto.
		//hacer visible el div de busqueda de productos
		//document.getElementById('codigoProducto').style.display = 'block';
		document.getElementById('groupBtn').style.display = 'block';
		document.getElementById('codigoLbl').style.display = 'block';
		document.getElementById('descriptionProd').style.display = 'block';
		document.getElementById('codigoTangoProd').style.display = 'block';
		//alert("tiene que mostrar");
	}
	$('#modal_produccion').modal('show');
	$('#idPed').text(id);
  }
  
function PedidoEnCurso()
{

	if(document.getElementById('hojaRuta').value == "" || document.getElementById('hojaRuta').value == null)
	{
		//Error
		document.getElementById('error_div').style.display = 'block';
		document.getElementById('error_msj').innerHTML = "<strong>Error!!!</strong> Completa el número de hoja de ruta.";

		return false;
	}
	else
	{
		if(GAccion == 'U')
		{
			document.getElementById('error_div').style.display = 'none';
			
			//Solo modificar hoja de ruta
			var idPedido = $('#idPed').text();
			var hojaRuta = document.getElementById('hojaRuta').value;
		
			var data_ajax={
				type: 'POST',
				url: "/empaque/insertPedido.php",
				data: { id: idPedido , action: GAccion , hoja: hojaRuta},
				success: function( data ) {
						$('#modal_produccion').modal('hide');
						location.reload();
					},
				error: function(){
						    alert("Error de conexión.");
						  },
				dataType: 'json'
				};
			
			$.ajax(data_ajax);
		}
		else
		{
			//validar producto
			if(document.getElementById('codigoProducto').value == "" || document.getElementById('codigoProducto').value == null)
			{
			//Error
			document.getElementById('error_div').style.display = 'block';
			document.getElementById('error_msj').innerHTML = "<strong>Error!!!</strong> Completa el código del producto.";
			
			return false;
			}
			else
			{
				document.getElementById('error_div').style.display = 'none';
				
				//Solo modificar hoja de ruta
				var idPedido = $('#idPed').text();
				var hojaRuta = document.getElementById('hojaRuta').value;
				
				/* Actualizar codigo del producto nuevo */
				var codigoProducto = $('#codigoProducto').val();
				var descProductos = $('#descriptionProd').val();
				var tangoCodigo = $('#codigoTangoProd').val();
				/****************************************/
				
				var data_ajax={
					type: 'POST',
					url: "/empaque/insertPedido.php",
					data: { id: idPedido , action: GAccion , hoja: hojaRuta, code: codigoProducto, desc: descProductos, tango: tangoCodigo},
					success: function( data ) {
							$('#modal_produccion').modal('hide');
							location.reload();
						},
					error: function(){
							    alert("Error de conexión.");
							  },
					dataType: 'json'
					};
				
				$.ajax(data_ajax);
			}
		}
	}
	
}

function AbrirPopTerminado(id, producto, codigo)
  {
	$('#modal_terminado').modal('show');
	$('#idPed').val(id);
	$('#nomProducto').text(producto);
	$('#NTPid').text(codigo);
  }

function PedidoTerminado()
{
	var idPedido = document.getElementById('idPed').value;
	var accion;
	var cantidad = 0;
	var bulto = 0;
	var kg = 0;
	
	if(document.getElementById('optionsRadios').checked == true)
	{ accion = "T";	}
	else
	{ accion = "TP"; }
	
	if(
	   document.getElementById('tbcantidad').value.length <= 0 ||
	   document.getElementById('tbbulto').value.length <= 0 ||
	   document.getElementById('tbkg').value.length <= 0 
	   )
	{
		document.getElementById('error_div_ter').style.display = 'block';
		document.getElementById('error_msj_ter').innerHTML = "<strong>Error!!!</strong> Las cantidades son obligatorias.";
	}
	else
	{
		var corte = false;
		//Evaluar que sean números
		if(isNaN(document.getElementById('tbcantidad').value) == true)
		{ 
			document.getElementById('error_div_ter').style.display = 'block';
			document.getElementById('error_msj_ter').innerHTML = "<strong>Error!!!</strong> Solo se permiten números en las cantidades.";
			corte =true;
		}
		else
		{
			cantidad = document.getElementById('tbcantidad').value;
			
			if(isNaN(document.getElementById('tbbulto').value) == true)
			{
				document.getElementById('error_div_ter').style.display = 'block';
				document.getElementById('error_msj_ter').innerHTML = "<strong>Error!!!</strong> Solo se permiten números en las cantidades.";
				corte =true;
			}
			else
			{
				bulto = document.getElementById('tbbulto').value;
				
				if(isNaN(document.getElementById('tbkg').value) == true)
				{
					document.getElementById('error_div_ter').style.display = 'block';
					document.getElementById('error_msj_ter').innerHTML = "<strong>Error!!!</strong> Solo se permiten números en las cantidades.";
					corte =true;
				}
				else
				{
					kg = document.getElementById('tbkg').value
				}
			}	
		}
		
		if(corte == false)
		{
			var data_ajax={
					type: 'POST',
					url: "/empaque/insertPedido.php",
					data: {
						id: 		idPedido 	,
						action: 	accion 		,
						cantidad:	cantidad	,
						bulto: 		bulto		,
						kg: 		kg		
						},
					success: function( data ) {
							$('#modal_produccion').modal('hide');
							location.reload();
						},
					error: function(){
							    alert("Error de conexión.");
							  },
					dataType: 'json'
					};
				
				$.ajax(data_ajax);
		}
	}
	
}

function Seguimiento(idPedido, codigoPedido)
{
	$('#idC').text("N\u00famero " + codigoPedido);
	$('#modal_seguimiento').modal('show');
	CargarLog(idPedido);
}

function AbrirMotivos(idPedido)
{
	$('#idC').text("Motivos de rechazo.");
	$('#modal_seguimiento').modal('show');
	CargarLogMotivos(idPedido);
}

function CargarLog(idPedido)
	{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById('div_seguimiento');
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", "loadLog.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion   
	ajax.send("variable="+idPedido);

	ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				// Respuesta recibida. Coloco el texto plano en la capa correspondiente
				capa.innerHTML=ajax.responseText;
			}
		}	
	}
	
function CargarLogMotivos(idPedido)
	{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById('div_seguimiento');
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", "loadLogMotivos.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	// Al parecer esto crea una variable con nombre d que luego es utilizada en la pagina a la que llama esta accion   
	ajax.send("variable="+idPedido);

	ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				// Respuesta recibida. Coloco el texto plano en la capa correspondiente
				capa.innerHTML=ajax.responseText;
			}
		}	
	}